From 8387869a5d18f08fadbc68ae2845103546b04003 Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Fri, 15 Dec 2006 20:13:01 +0000 Subject: [PATCH] Merged from gtk-2-10: 2006-12-15 Federico Mena Quintero Merged from gtk-2-10: * gtk/gtkmenu.c (gtk_menu_set_title): Don't try to optimize for the case where the new title is the same as the old title, to preserve the behavior from GTK+ 2.8 (NULL and "" titles are not equivalent). Handle the case where title == priv->title. This was found by the LSB compatibility tests: https://bugzilla.novell.com/show_bug.cgi?id=223882 2006-12-15 Dom Lachowicz --- ChangeLog | 11 +++++++++++ gtk/gtkmenu.c | 19 ++++++++++--------- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index a302da793b..4da46f94cc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2006-12-15 Federico Mena Quintero + + Merged from gtk-2-10: + + * gtk/gtkmenu.c (gtk_menu_set_title): Don't try to optimize for + the case where the new title is the same as the old title, to + preserve the behavior from GTK+ 2.8 (NULL and "" titles are not + equivalent). Handle the case where title == priv->title. This + was found by the LSB compatibility tests: + https://bugzilla.novell.com/show_bug.cgi?id=223882 + 2006-12-15 Dom Lachowicz * gtk/gtkcombobox.c: Make GtkComboBox in "appears-as-list" mode diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index be89918fce..7460061231 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -1913,26 +1913,27 @@ gtk_menu_get_tearoff_state (GtkMenu *menu) * @title: a string containing the title for the menu. * * Sets the title string for the menu. The title is displayed when the menu - * is shown as a tearoff menu. + * is shown as a tearoff menu. If @title is %NULL, the menu will see if it is + * attached to a parent menu item, and if so it will try to use the same text as + * that menu item's label. **/ -void +void gtk_menu_set_title (GtkMenu *menu, const gchar *title) { GtkMenuPrivate *priv; + char *old_title; g_return_if_fail (GTK_IS_MENU (menu)); priv = gtk_menu_get_private (menu); - if (strcmp (title ? title : "", priv->title ? priv->title : "") != 0) - { - g_free (priv->title); - priv->title = g_strdup (title); + old_title = priv->title; + priv->title = g_strdup (title); + g_free (old_title); - gtk_menu_update_title (menu); - g_object_notify (G_OBJECT (menu), "tearoff-title"); - } + gtk_menu_update_title (menu); + g_object_notify (G_OBJECT (menu), "tearoff-title"); } /** -- 2.30.2